#ifndef ARRAY_STACK_H
#define ARRAY_STACK_H
#include <iostream>
#include <vector>
//using namespace std;

template <class Object>
class Stack
{
  public:
  	explicit Stack(int capacity = 10);

	bool isEmpty() const;
	bool isFull() const;
	const Object &top() const;

	void makeEmpty();
	void pop();
	void push(const Object &x);
	Object topAndPop();

  private:
  	std::vector<Object> theArray;
	int topofStack;
};

#endif
